package capaPersistencia;

import java.sql.Connection;
import java.sql.SQLException;

import data.UsuarioVO;


/**
 * Clase que tiene los metodos para trabajar con Usuario: Insertar,autenticar,eliminar y modificarusuarios
 */
public class ModuloUsuarios implements Persistencia{
	
	public boolean registrarUsuario(UsuarioVO usuario)  {    
        
		Connection connection = null;
		try{
			connection = GestorConexiones.getConnection();
			UsuarioDAO usuarioDAO = new UsuarioDAO();

			return usuarioDAO.insertarUsuario(usuario, connection);  
			 


		} catch (Exception e) {
			e.printStackTrace(System.err);
			return false;
		} finally{
			
				try {
					connection.close();
				} catch (SQLException e) {
					
					return false;
				}
			
		}

	} 
	public boolean autenticarUsuario(String user,String pass) {    

		Connection connection = null;
		try{
			connection = GestorConexiones.getConnection();
			UsuarioDAO usuarioDAO = new UsuarioDAO();

			return usuarioDAO.usuarioRegistrado(user,pass, connection);
			

		} catch (Exception e) {
			e.printStackTrace(System.err);
			return false;
		} finally{
			try {
				connection.close();
			} catch (Exception e) {
				
				return false;
			}
		}

	}
	public void eliminarUsuario(UsuarioVO usuario) {    

		Connection connection = null;
		try{
			connection = GestorConexiones.getConnection();
			UsuarioDAO usuarioDAO = new UsuarioDAO();

			usuarioDAO.eliminarUsuario(usuario,connection);
			

		} catch (Exception e) {
			e.printStackTrace(System.err);
			
		} finally{
			try {
				connection.close();
			} catch (Exception e) {
				
				e.printStackTrace(System.err);
			}
		}

	}
	public boolean modificarUsuario(UsuarioVO usuario)  {    

		Connection connection = null;
		try{
			connection = GestorConexiones.getConnection();
			UsuarioDAO usuarioDAO = new UsuarioDAO();

			return usuarioDAO.modificarUsuario(usuario, connection);  
			 


		} catch (Exception e) {
			e.printStackTrace(System.err);
			return false;
		} finally{
			
				try {
					connection.close();
				} catch (SQLException e) {
					
					return false;
				}
			
		}

	} 
	public UsuarioVO obtenerUsuario(String login)  {    

		Connection connection = null;
		try{
			connection = GestorConexiones.getConnection();
			UsuarioDAO usuarioDAO = new UsuarioDAO();

			return usuarioDAO.obtenerUsuario(login, connection);  
			 


		} catch (Exception e) {
			e.printStackTrace(System.err);
			return null;
		} finally{
			
				try {
					connection.close();
				} catch (SQLException e) {
					
					return null;
				}
			
		}

	}

}
